﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NHibernate;

namespace BillBook.Repository
{
    public interface IBillBookRepository: IDisposable
    {
        void Save<T>(T entity);
        void Update<T>(T entity);
        void Delete<T>(T entity);
        List<T> ExecuteNamedQuery<T>(string queryName, IDictionary<string, object> paramters);
        List<T> ExecuteNamedQueryList<T>(string queryName, IDictionary<string, object> paramters, int startrecordno, int numofrecords);
        object ExecuteScalar<T>(string queryName, IDictionary<string, object> paramters);
        T Load<T>(long id);
    }
}